/*
 * 1、2015年发布的 ECMAScript 6 标准中支持使用 class 来声明一个类
 * 2、使用class声明类:
 *    (1)、class 之后紧跟类名，类名的所有单词首字母一律大写
 *    (2)、类名之后的 { } 表示类体
 *    (3)、在类中可以声明 构造函数(constructor)和 实例方法
 *    (4)、在构造函数中通过 "this.名称 = 值" 形式来声明 实例字段(field)
 * 3、创建类的实例时仍然是通过 "new 构造函数(参数)" 形式实现
 *    值得注意的是，创建实例时使用的构造函数的名称与相应的类同名
 */

// class 类名 { }
class Loong {
    // 使用constructor定义类的构造函数
    constructor(name){
        // 通过 this 来声明实例字段
        this.name = name ;
    }
    // 定义实例方法
    fly(){
        console.log(`${this.name}腾云驾雾飞起来了`);
    }
}

// 创建类的实例时仍然是通过 "new 构造函数(参数)" 形式实现
let g = new Loong( '敖广' ); // 注意: 构造函数名称与类名同名
let n = g.name ; // 获得实例字段的值
console.log( n );
g.fly(); // 调用实例方法

g.name = '敖钦' ; // 修改实例字段的值
g.fly(); // 调用实例方法

console.log( '- - - - - - - - - - - -' );

console.log( g );